角色表 (Chara)
表格解释
制作源表时,必须完整复制官方源表的前三行,并将你的数据从第四行开始录入。
关于列、空行和空格子
缺少的列会被静默填成空值,不会有任何报错——所以请把官方表的表头整行复制过来,不要删列,也不要改变列的顺序。
id 留空的那一行会中止整张表的读取,它之后的所有行都不会被载入,同样没有提示。除非你是有意为之,否则不要用空行给数据分组。
空格子不等于空值——游戏会回落到第 3 行的默认值。race 默认 norland、job 默认 none、category 默认 chara、_idRenderData 默认 chara、LV 默认 1、chance 默认 100、tiles 与 colorMod 默认 0。
你也可以改第 3 行的默认值,让它作用到其余所有行。你的数据应从第 4 行开始录入。
| 列 | 类型 | 描述 |
|---|---|---|
| id | 文本 | 条目中最重要的标识单元,用于在角色表中将其与其他所有内容区分开来。如果该 ID 与原版条目或其他模组条目的 ID 匹配,则最后加载的表格将覆盖其他表格。该值不能包含任何空格,必要时建议使用 snake_case 风格,例如 mymod_chara_yajyuu_senpai。 |
| _id | 整数 | 用于图鉴中的排序,可以是任意数值。该值不必唯一。 |
| name_JP | 文本 | 角色的游戏内显示的日文名称。 |
| name | 文本 | 角色的游戏内显示的英文名称。其他语言使用 SourceLocalization.json 。 |
| aka_JP | 文本 | 角色的游戏内别名/称号的日文名称。 |
| aka | 文本 | 角色的游戏内别名/称号的英文名称。其他语言使用 SourceLocalization.json 。 |
| idActor | 文本[] | 控制角色是否使用 PCC 部件渲染。示例:pcc,unique,jure 会从 pcc/unique/jure 加载 PCC 部件。 |
| sort | 整数 | 在 SourceChara 中未使用。 |
| size | 整数[] | 角色占用的图块尺寸;通常为空。示例:2,2 会使角色占用 2×2 图块并防止被推挤。 |
| _idRenderData | 文本 | 控制精灵表引用。chara/chara_L 等使用 Texture Replace 中的纹理和 tiles 中的图块 ID(插槽有限,可被覆盖)。@chara 使用 Texture 中相同 ID 的纹理。模组角色必须使用@chara。注意留空不等于没有渲染数据:它会回落到第 3 行的默认值 chara,也就是图集模式——模组角色不写 @chara 时贴图不对,正是这个原因。 |
| tiles | 整数[] | 精灵表的图块 ID,或模组角色的 skinset。 |
| tiles_snow | 整数[] | 在雪地地图上使用的替代图块序列。模组角色改为使用 贴图变体。 |
| colorMod | 整数 | 颜色饱和度修正。目前主要与 100 配合使用,允许灰度精灵继承 mainElement 的颜色。0 表示不着色。 |
| components | 文本[] | 在 SourceChara 中未使用。 |
| defMat | 文本 | 默认尸体材质,从 SourceBlock 内 Material 分表的 alias 列中选择。留空则使用种族的默认材质。 |
| LV | 整数 | 角色的“危险等级”;影响根据地图危险度生成的生成阈值、选择成本(奴隶主/驯兽师)以及基于种族/职业特征的基础属性生成。 |
| chance | 整数 | 地图生成几率的修正值(可能也影响销售列表)。默认值为 100。 |
| quality | 整数 | 稀有度等级,留空按 0 处理。制作 mod 时只在 0、3、4 之间选。 0:普通。3:具名怪物(名字显示时外部带有 《》;受精蛋可孵化出同类)。4:独特角色(名字显示时外部带有 『』;受精蛋仅能孵化出鸡;地图重新生成时不会重复生成)。3 与 4 都无法使用精灵球捕捉,也无法驯服,但都可以通过好感度招募入队。只要填了非 0 的值,这个角色就不会出现在招募名单、狩猎任务目标、奴隶商人这类随机名单里,也不会被随机提升为传说 boss。中间的 1、2 是游戏在生成角色时随机赋予的档位(到了 2 就已经不可捕捉、名字也带 『』),写进源表只会关掉这份随机性,因此不要填。自定义冒险者无需填写此列。 |
| hostility | 文本 | 对玩家/盟友/旁观者的性情。可填 Enemy / Neutral / Friend / Ally——注意敌对写作 Enemy,不是 Hostile。留空按 Enemy(敌对)处理。Neutral:除非被攻击否则不会主动攻击。Friend:会攻击任何对友方单位敌对的目标,若玩家被激怒也会攻击。 |
| biome | 文本 | 把随机生成限制在某一种生态里。填了这一列,角色就只在同名的生态中出现;留空则不限生态。这是一个是/否过滤,不是几率加权。填生态的名字(如 Water、Sand、Plain),区分大小写。 |
| tag | 文本[] | 同时承担行为标签(裸词)与生成配置(带参数,见下文)两件事。行为标签的取值是一份固定清单,写法必须完全一致且区分大小写,详见 行为标签章节及之后的几个章节。 |
| trait | 文本[] | 角色的特性,对应 Trait* C# 类(填写时省略 Trait 前缀)。若您的角色为冒险者,请阅读 创建冒险者章节。这一列虽然能填多个,但只有第一个生效,其余的会被静默忽略。 |
| race | 文本 | 从 SourceRace 的种族 ID 列中选择。留空时回落为 norland——没填种族的角色是北地之民,而不是「没有种族的角色」。 |
| job | 文本 | 从 SourceJob 的职业 ID 列中选择;默认为 none。 |
| tactics | 文本 | 覆盖所分配职业的默认战术。 |
| aiIdle | 文本 | 空闲时的移动方式。留空时每回合有小概率随机走动;stand 不再随机走动;root 在此之上还不跟随主人、不追赶队长。必须全小写——写成 Stand 不会生效,角色照常随机走动,而且不会有任何报错。 |
| aiParam | 整数[] | 三个数值:首选与敌人的距离、每回合移动到该距离的概率,以及(很少使用)再次移动的额外概率。 |
| actCombat | 文本[] | 战斗中可使用的主动能力/魔法,从 SourceElement 条目中选择,用半角逗号分隔。添加 /N 可设置固定使用概率。增益效果可添加 /pt 使其作用于整个队伍(仅限友方状态)。示例:ActThrowPotion/30,SpWeakness,SpSpeedDown,SpWisdom/50/pt。默认概率为 100。 |
| mainElement | 文本[] | 主要元素亲和力:Fire、Cold、Lightning、Darkness、Mind、Nether、Nerve、Sound、Chaos、Poison、Holy、Cut、Acid、Impact。可以用逗号填多个,游戏会按角色 LV 与各元素的 eleP 加权随机挑一个。加 /N 可指定元素等级(不写为 10),例如 Poison/80。填的值会被拼上 ele 前缀(Fire → eleFire)去 SourceElement 的 alias 列查找,写错会在角色生成时抛异常。 |
| elements | 文本 | 被动如专长/附魔,从 SourceElement 条目中选择,用半角逗号分隔。使用时添加 /N 表示等级/数值。0 或负值可修改继承自种族的元素。示例:invisibility/1 为启用,invisibility/0 为禁用继承效果;antidote/-30 会让肉带毒,antidote/30 可解毒或抵消种族的 -30。 |
| equip | 文本 | 覆盖随机的职业装备模板。留空则跟随职业(Job 表的 equip 列);填 none 会完全跳过装备生成。真正有效果的取值只有三个,且区分大小写、均为小写:archer(弓/弩)、inquisitor 与 gunner(枪)。另外只要这一列非空,就会触发装备生成——即使种族的 EQ 为空。 |
| loot | 文本[] | 额外掉落物(Thing/ThingV ID),用逗号分隔,每一项都必须带 /N,漏写会直接出错。N 是千分制:小于 1000 时表示掉 1 个的概率(medal/500 = 50%);大于等于 1000 必定掉落,N / 1000 是保底个数,余数是再多掉一个的千分概率(medal/3000 = 必定 3 个;medal/2500 = 2 个,另有 50% 概率第 3 个)。玩家阵营的角色和自建地图里不掉落。 |
| category | 文本 | 大多数条目使用默认的 chara。 |
| filter | 文本[] | 在 SourceChara 中未使用。 |
| gachaFilter | 文本[] | 决定这个角色能不能被扭蛋抽到。这一列只认两个值:resident 与 livestock,可以同时填。扭蛋自身的类别(居民 / 家畜 / 独特)是另一回事:抽居民时要求含 resident,抽家畜时要求含 livestock,而抽独特时要求含 resident 且 quality 为 4——没有名为 Unique 或 default 的过滤值。 |
| tone | 文本 | 这一列被读进去之后就再没有用到,填了不会有任何效果。真正生效的语气是 bio 的第 5 段。 |
| actIdle | 文本[] | 非战斗时的行为。可以用逗号填多个,游戏每次随机取一个。readBook、buffMage / buffThief / buffGuildWatch / buffHealer、torture_snail / janitor / cast、bartender、baker、butcher、banker、fisher。 |
| lightData | 文本 | 发出的光颜色。对角色同样生效——本体就用了 wisp、wisp_bright、fireplace。 |
| idExtra | 文本 | 额外的渲染数据。对角色同样生效(本体:deep_jellyfish)。 |
| bio | 文本 | 用斜杠分隔的值(无空格):gender(m/f/n)、age、height、weight、来自 chara_tone.xlsx 的 tone、来自 chara_talk.xlsx 的 talk。示例:f/51044/152/46/friendly|私|あなた。可选的段只能从尾部省略,详见 bio 列。 |
| faith | 文本 | 固定的宗教。设置后游戏内无法更改。 |
| works | 文本[] | 从 SourceHobby 的 alias 列中选择。 |
| hobbies | 文本[] | 从 SourceHobby 的 alias 列中选择。 |
| idText | 文本 | 链接到 CharaText 表格中的对应条目。涉及游戏中角色头顶的情景气泡发言,详见 情景气泡 章节 |
| moveAnime | 文本 | 移动动画类型。hop 或留空。 |
| factory | 文本[] | 在 SourceChara 中未使用。 |
| components | 文本[] | 在 SourceChara 中未使用;此列为重复列。表里出现同名列时,靠后的那个才生效。 |
| recruitItems | 文本[] | 特殊招募对话物品,目前仅 mani 使用。 |
| detail_JP | 文本 | 在 SourceChara 中未使用;可用于备注。 |
| detail | 文本 | 在 SourceChara 中未使用;可用于备注。 |
bio 列
性别 / 年龄 / 身高 / 体重 / 语气 / 话题没有哪一段是硬性必填的,而可选的那几段只能从尾部省略。f////friendly 是不行的。
性别(m / f / n)需要单独说一句,因为「留空」有两种完全不同的含义:
- 整列留空,则包括性别在内的所有内容都随机生成。这是完全正常的写法。
- 只把第一段留空 —— 比如
/17/152/46—— 并不是随机。只要这一列非空,游戏就一定会读第一段,而既不是n也不是f的值会落到兜底分支,得到男性。留空、或者写成M这种大小写错误,都会静默产出一个男性角色。
另外两件从表上看不出来的事:
- 年龄填的是岁数,不是年份。 游戏拿它反推出生年(出生年 = 当前年 − 年龄)。身高体重没有明确单位,游戏就是原样显示这两个数。
- 填了年龄会关掉随机立绘,除非角色带
randomPortrait标签。填了年龄还会让游戏去找Data/PCC/<id>.txt,不过那个可以不管。
语气那一段自己还能再用 | 分成三节:
语气id|第一人称|第二人称语气id 取自 chara_tone.xlsx,留空按 default 处理。后两节用来替换台词里的第一人称和第二人称,但这个替换只在日文下进行——其他语言下填了完全没有效果。
这一列和下文的 addBio(ID) / bio_ID.json 是两回事:这里是生成角色时用的参数,那边是角色资料页里显示的传记文本。
行为标签
tag 列里不带括号的裸词就是行为标签。可用的标签是下面这份固定清单,写法必须完全一致, 区分大小写——差一个字母就等于这个标签不存在,而且不会有任何报错。
这份清单与物品共用
清单由物品与角色共用,所以其中有不少取值(seed、gift、currency、dish_bonus 等) 只对物品有意义,写在角色上不会有任何效果。
important, repeatSwing, nonHold, nonPick, canMelee, boss, currency, randomName,
noDrop, hidden, wilds, neg, replica, seed, rareSeed, gift, ignoreUse,
throwWeapon, throwWeaponEnemy, notHumanMeat, noRandomProduct, suicide, kamikaze,
randomSkin, noPortrait, randomPortrait, rareResource, tourism, staticSkin,
godArtifact, noWish, dish_bonus, dish_fail, random_color, noRandomEnc, noMix,
bigFish, noSkinRecipe, animal, human, undead, machine, horror, fish, fairy, god,
dragon, plant, antiSpider, shield, humanSpeak, throwBall, alwaysDropCorpse,
allowDevour, noRide, ride, allowIngredient其中几个对角色的效果是明确的:
| 标签 | 效果 |
|---|---|
mini | 身高变成十分之一。 |
humanSpeak | 对话时不使用括号,详见下一节。 |
randomPortrait | 即使填了 bio 的年龄,仍然随机分配立绘(填了年龄默认会关掉随机立绘)。 |
water | 水生行为:待机时会主动游向深水,随机走动时也不会从深水走上岸。它同时也是下面那种生成过滤标签。 |
另一类标签:生成过滤
上表里的标签由游戏代码直接读取。还有一类标签不会出现在代码里,而是由生成清单 (SpawnList)按名字筛选,链路是「生态 → 生成清单 → 标签」:
Snow(雪地生态) → 生成清单 c_snow → 要求标签 snow、排除标签 neutral筛选时同时查看角色自己的 tag 与它所属种族的 tag,任一命中即可。常见的有:
| 标签 | 作用 |
|---|---|
snow | 进入雪地生态的生成池;同时被荒野与地下城的清单排除。 |
sand | 进入沙地生态的生成池。 |
water | 进入水域生态的生成池。 |
randomFish | 进入钓鱼的产出池。 |
neutral | 进入中立角色的生成池(访客、城镇居民等)。这是本体用得最多的标签。 |
pawn | 进入随从的生成池。 |
留空则不进入任何按标签筛选的清单。这一族标签由数据定义,所以 mod 可以自带生成清单并 自造标签名 —— 上表只是本体在用的那些。
使用人类对话
除了在种族 Race 表中添加 human 或 humanSpeak 标签外,你还可以在角色 Chara 表中使用 humanSpeak 标签,让你的角色在对话中不使用括号。
生成配置
使用 tag 标签列来定义生成配置。
CWL旧格式
CWL 格式已经从Wiki移除,它们仍然兼容,但推荐使用本文的新格式。
可选的tag操作:
addZone(zoneId@level)addEq(ItemId#Rarity)/addEquipment(ItemId#Rarity)addThing(ItemId#Count)addFlag(FlagName)/addInt(FlagName=1)addFlagValue(FlagName=some_value)/addStr(FlagName=some_value)addBio(BioFileId)/addBiography(BioFileId)addStock(StockFileId)addDrama(DramaFileId)
详细说明见下文
自动生成到区域
要将角色生成到某个区域,请在角色源表的 tag列添加 addZone(*),并用区域 id 替换 *(星号),或者保留星号以生成到随机区域。你也可以用 @n 来指定区域层级。
例如,要在起始原野中生成角色,请使用 addZone(startSite)。要在特尔斐地下一层生成角色,请使用 addZone(derphy@-1)。请查看 SourceGame/Zone 并参考 id 列。

每一个 addZone 标签都会确保在该区域生成一个角色。例如,addZone(lumiest),addZone(little_garden),addZone(specwing),addZone(*) 将会在所选的三个区域以及随机一个区域中生成一个角色(同时存在)。
关于源表的 tag列标签:
- 都是英语括号和英语逗号
, - 其中英文逗号
,用于分割tag。 - 不可以连续两个逗号且中间没有内容(如:
,,);连续两个逗号会插入空值,从而导致bug。
添加初始装备/物品
当生成你的角色时,你还可以为该角色定义起始装备和物品。
要为角色分配特定装备,使用标签 addEq(ItemID#Rarity) 或者 addEquipment(ItemID#Rarity),其中 ItemID 替换为物品的ID,Rarity 为以下之一:随机(Random)、粗制品,(Crude)、凡品(Normal)、优质品(Superior)、奇迹(Legendary)、神器(Mythical)、特殊物品(Artifact)。如果省略 #Rarity,将使用默认稀有度 #Random。
例如,要将奇迹的 BS_Flydragonsword 和随机的 axe_machine 设置为角色的主要武器:
addEq(BS_Flydragonsword#Legendary),addEq(axe_machine)要为角色添加起始物品,使用标签 addThing(ItemID#Count)。如果省略 #Count,将生成默认的 1 件物品。
例如,要为角色添加 padoru_gift x10 和 援军卷轴 x5:
addThing(padoru_gift#10),addThing(1174#5)创建冒险者
CWL旧格式
CWL 格式使用了 AdventurerBacker,它们仍然兼容,但推荐使用本文的新格式。
如果您的角色的 trait 列填写为 AdventurerCustom,将登录该角色为冒险者,并出现在冒险者排行列表中。
如果不想您的冒险者角色随机移动,使用标签 addFlag(StayHomeZone)。
自定义商人库存
你可以使用 addStock 标签和库存文件来定义自定义商人库存。
库存文件是一个简单的 JSON 文件,放置在你的 LangMod/**/Data/ 文件夹中,文件名为 stock_ID.json。其中 ID 是该库存文件或角色的唯一标识符。例如:stock_my_cnpc.json 或 stock_unique_armor.json。
使用 addStock 标签不带 ID 时,将默认使用角色 ID。你也可以通过多个标签指定或组合多个库存文件,例如: addStock,addStock(unique_items),addStock(unique_armor)。
库存结构
{
"Items": [
{
"Id": "example_item",
"Material": "",
"Num": 1,
"Restock": true,
"Type": "Item",
"Rarity": "Random",
"IdentifyLevel": "Identified"
},
{
"Id": "example_item_limited",
"Material": "granite",
"Num": 1,
"Restock": false,
"Type": "Item",
"Rarity": "Artifact",
"IdentifyLevel": "Identified"
},
{
"Id": "example_item_craftable",
"Material": "",
"Num": 1,
"Restock": false,
"Type": "Recipe",
"Rarity": "Random",
"IdentifyLevel": "Identified"
},
{
"Id": "SpShutterHex",
"Num": 5,
"Type": "Spell"
}
]
}字段名的大小写不重要
游戏读取时不区分字段名的大小写,所以 Items 与 items、Id 与 id 都能读。 本文统一按首字母大写书写,现有 mod 里两种风格都有,沿用哪种都可以。
Items是一个包含库存物品的数组。Id
物品(Thing)的 ID。此字段必需。
对于某些库存类型,此处可以是元素的别名、数字 ID 或名称。Material
物品所使用的材质。留空则使用 Thing 数据中定义的默认材质。
默认值:""Num
物品数量。
默认值:1Lv
物品等级。留-1则跟随商店等级,填其他值则覆盖它。
默认值:-1Restock
决定物品是否会补货。
设置为false表示该物品为限量,只能购买一次。
默认值:trueType
详见下文type说明表。Rarity
可选值:Random、Crude、Normal、Superior、Legendary、Mythical、Artifact
默认值:NormalIdentifyLevel
决定物品初始的鉴定状态。
可选值:Identified、RequireSuperiorIdentify、KnowQuality、Unknown
默认值:IdentifiedBlessedState
决定物品的祝福状态。
可选值:Doomed、Cursed、Normal、Blessed
默认值:NormalNoCopy
无法被复制。
默认值:falseNoRandomSocket
不生成随机的远程枪械插槽。
默认值:falseSockets
要作为插槽附加的远程枪械附魔别名列表。空字符串表示空插槽。PriceCalc
用于覆盖物品价格的算术计算表达式。
参数:base(基础价格)、lv(物品等级)、rarity(物品稀有度)
示例:"base * 0.2 + lv * 5"MapStr
物品创建后要合并进来的附加 mapStr 值。MapInt
物品创建后要合并进来的附加 mapInt 值。- 你可以省略任意字段以使用其默认值。
库存物品类型
| Type | 说明 |
|---|---|
| Item | 标准物品。支持材质、等级和堆叠数量。 |
| Block | 可放置的方块物品,由方块别名和材质生成。 |
| Cassette | 音乐磁带。Id BGM 数字 ID。填了不存在的 ID 不会报错,会静默换成一首随机 BGM。 |
| Currency | 货币物品。Id 可以是 money、money2、plat、medal、influence、casino_coin、ecopo。Num 表示金额。 |
| Category | 从类别生成。Id 是类别名称。 |
| Filter | 从过滤器生成。Id 是过滤器名称。 |
| Tag | 从标签生成。Id 是标签名称。 |
| Letter | 信件物品。Id 为信件 ID,txt文本放置于 LangMod/XX/Text/Scroll中。 |
| Map | 地图物品。Id 为地图 ID。 |
| Perfume | 香水。Id 为元素别名或 ID。 |
| Plan | 计划书。Id 为元素别名或 ID。 |
| Potion | 药水物品。Id 为元素别名或 ID |
| Recipe | 用于合成的配方物品。 |
| RedBook | 红皮书物品。Id 为书籍 ID,txt文本放置于 LangMod/XX/Text/Book中。 |
| Rod | 魔杖物品。Id 为元素别名或 ID。Num 定义充能次数。 |
| Rune | 符文物品。Id 为元素别名或 ID。 |
| RuneFree | 免费符文物品。Id 为元素别名或 ID。 |
| Scroll | 卷轴物品。Id 为元素别名或 ID。 |
| Skill | 技能书。Id 为元素别名或 ID。 |
| Spell | 法术书。Id 为元素别名或 ID。 |
| Usuihon | 特殊物品。Id 为宗教 ID。 |
如果你没有使用代码编辑器,可以使用 JSONLint 来验证你的 JSON 格式。
对话 & 气泡
情景气泡
在某些情况下,角色会触发特定的台词,并以气泡形式显示在其头顶。

这些对话写在 CharaText 表格中,而你的角色则在 idText 单元格中填入该对话的 ID 将其链接。

| 列 | 情景 |
|---|---|
| calm | 平常时 |
| fov | 出现在视野中时 |
| aggro | 进入战斗时 |
| dead | 死亡时 |
| kill | 击杀单位时 |
来聊天吧
想添加一些角色 来聊天吧 时的对话,可以在 LangMod/**/Dialog/ 文件夹中准备一个 dialog.xlsx 表格。
此表格的格式与游戏的对话表格 Elin/Package/_Elona/Lang/_Dialog/dialog.xlsx 相同,但你只需 unique 表和包含你角色 ID 的那一行。

此处 ID 和角色 ID 相同。
格式
dialog.xlsx的文本数据从表格第5行开始,而非源表格式的第4行。
剧情
剧情是通过多选项对话和附加动作构成的丰富交互系统。
剧情部分已移至单独的章节。
自定义传记
为了为你的角色增添更多风味,你可以使用标签 addBio(ID) 来指定自定义传记。传记文件是一份 JSON 文件,存放在你的 LangMod/**/Data/ 文件夹中,名称为 bio_ID.json,此ID是传记文件的独特ID,例如 addBio(MyChara) 对应 bio_MyChara.json.
{
"Birthday": 11,
"Birthmonth": 4,
"Birthyear": 514,
"Birthplace": "地球",
"Birthlocation": "咩咩村",
"Mom": "最棒的母亲",
"Dad": "最棒的爹地",
"Background": "背景故事",
"FavFood": "mushroom_rare",
"FavCategory": "mushroom",
"LikeThing": "stethoscope",
"LikeHobby": "martial"
}FavFood: Thing表/ThingV表/Food表中的id。FavCategory: Category表中的id。LikeThing: 喜欢的物品id。LikeHobby: Element表中的alias。
如果你没有使用代码编辑器,可以使用 JSONLint 来验证你的 JSON 格式。
肖像与贴图
肖像
肖像也叫立绘;是与角色对话时,弹窗中左侧显示图片。
肖像应放置于 Portrait 文件夹中,而 Portrait文件夹应位于的你模组包中
关于肖像的详细内容,请移步 肖像,阅读角色mod肖像章节。
贴图(Sprite)
角色在地图上的贴图,更准确的描述是精灵图Sprite
当你准备给你的mod角色提供一张新的图片作为角色贴图(Sprite)时,首先,你应在源表的 _idRenderData 列填入 @chara 。
角色贴图(Sprite)为一张透明背景的 .png 图片,应放入 Texture 文件夹。而 Texture 文件夹应位于的你 游戏安装目录/Elin/Package/自定义的mod文件夹名字 中(其中 自定义的mod文件夹名字 即你的 模组包。
一般来说,角色贴图(Sprite)的命名应为 ID.png,ID正是你的角色ID。
您还可以使用动画贴图,更大尺寸的画布,以及不同条件下变化的贴图变体;详细内容,请移步总目录的 贴图模组 分区阅读。
示例
关于肖像和贴图,你可以参考Tiny Mita范例:
